This invention relates to a method for facilitating a system configuration in a computer having failover mechanism.
Server devices usually have interfaces for providing connections with plural external devices. Examples of such external devices include storage devices, network devices, etc. HBAs (host bus adapters) for providing connections with storage devices and NICs (network interface cards) for providing connections with networks, are examples of such interfaces. Those interfaces are usually provided with dedicated driver programs corresponding to the makers or the types, of the interfaces.
A driver program, hereafter referred to simply as a driver, is installed in an operating system (OS) which runs on a server device and establishes connections with external devices such as disk devices or networks in the process of initiating the OS performed in the stage of starting up the server device. After the establishment of the connections with the external devices has been completed by the driver, the OS accepts the input/output commands from an application program. The application program can exchange the input/output signals with the external devices through the transfer of the commands to the desired drivers.
A method for performing a failover operation has already been in the public domain, as disclosed in JP-A-2006-163963, wherein working server devices and standby server devices are provided in preparation for server failures and when a failure occurs in any of the working server devices, the failed working server device is taken over by one of the standby server devices. In that method, the same disk device is shared between a working server device and a standby server device, and when a failure occurs in the working server device, the ongoing computing operation is continued by causing the standby server device to take over the boot disk in the disk device in which the OS running on the working server device was installed.
According to that method, the interface for the working server device and the interface for the standby server device are connected with the same external device in preparation for the switchover in case of a failure. While the working server device is operating, the standby server device is in the standby state with power supply being cut off. When the standby server device is turned on in accordance with the switchover from the working server device to the standby server device in response to a failure occurring in the working server device, the interface for the standby server device is initialized as a result of the initialization of the above mentioned OS so that connection with the external device can be established. Thus, the switchover from the working server device to the standby server device is completed.
In order to configure a system for performing such a failover operation as described above, it is usually necessary to make the working server device and the standby server device identical in hardware configuration with each other. The hardware configuration mentioned here includes, for example, the capacities of memories, the types and number of processors, etc. Such equivalence in hardware configuration is required to maintain the same operating performance before and after the switchover.
In addition, it is also necessary to provide the working server device and the standby server device with the same type interfaces. Such provision is necessary to preserve the suited combination of driver and associated interface and therefore to secure connection with the same external device, before and after the switchover.
If the established suited combination of driver and interface is preserved before and after the switchover, the system under consideration can operate normally before and after the switchover. However, if the interface used for the working server device is different in configuration from that used for the standby server device, the system may sometimes malfunction after the switchover.
One of the reasons for the malfunction will be due to the use of the different types of interfaces. For example, the different types of interfaces will refer to the HBA and the NIC which are to be respectively connected with external devices having different functions. In such a case, malfunction will be caused after switchover since the standby server device can no longer be connected functionally with the external device with which the working server device was previously connected. This happens when the working server device and the standby server device are not connected with the physically same external device. Therefore, it is necessary to provide the same types of interfaces for the working server device and the standby server device.
Even though the same types of interfaces are provided for both the working server device and the standby server device, malfunction may still arise if those interfaces are manufactured by different makers so that a necessary driver needed after the switchover is not installed. Namely, since a driver adapted to the interface used after switchover is missing, the interface cannot be normally connected with the external device in the stage of OS initialization. Thus, computing operation cannot be continued due to the lack of the operating environment established before the switchover.
Further, even if the types and makers of interfaces are the same, the same adverse phenomenon may occur if there is difference in the versions of the firmware installed in the interfaces. The version of firmware is often renewed when a new function is added to the interface. In such a case, a driver corresponding to the new function must be installed in the OS so as to secure normal operations.
When a failover environment is configured, necessary drivers are previously installed in the OS so as to secure normal operations irrespective of the difference in the types of interfaces and the versions of firmware. The labor required in the installation of necessary drivers in all the working and standby server devices, however, will be complicated and time-consuming.
In a system having N working server devices and M standby server devices, when a failure occurs in any of the N working server devices, the configuration of failover environment for any of the M standby server devices to take over the operation of the failed working server device requires the acquisition of data on the configurations of the N+M server devices and the M×N repeated operations of driver installation. Therefore, the increase in the number of the drivers, i.e. N plus M, will make the initial configuration of failover environment complicated and time-consuming. There will also arise a problem of operational errors increasing.